1. Technical Field
The present invention relates to a technique for improving transmission efficiency.
2. Background Information
There are now in wide-spread use a transmitter device and a receiver device which perform data communication according to TCP (Transmission Control Protocol), a protocol followed in Transport Layer (Layer 4). When TCP is employed, a transmitter device sequentially detaches a portion of data having a predetermined data size from a data stream to be transmitted to a receiver device, appends to each data portion a header containing a sequence number to generate a data block (hereinafter, data segment), and transmits data segments starting from one having a least recent sequence number. The sequence number is assigned according to a predetermined rule each time a data portion is detached from the data stream, and is used by a transmitter device and a receiver device for identifying each data segment. A receiver device, upon receipt of a data segment, returns an acknowledgement segment notifying a transmitter device of the receipt. There is written in an acknowledgement segment a sequence number of a data segment which a receiver device expects to receive subsequently to the received data segment. Such use of a sequence number enables a transmitter device to confirm that a data segment transmitted has safety been received by a receiver device.
A transmitter device performs retransmission control using a retransmission timer to cope with a case where a data segment is lost and does not reach a receiver device. A transmitter device, upon transmitting a data segment, causes a retransmission timer to start, which timer expires after a time corresponding to a predetermined retransmission timeout value elapses. When no acknowledgement segment is received that acknowledges a transmitted data segment, for which the timer has been activated, before the retransmission timer expires, the data segment is retransmitted. Conversely, a transmitter device stops a retransmission timer which was activated upon transmission of a data segment if an acknowledgement segment for the transmitted data segment is received. Such retransmission control prevents a transmitter device from being caused to unnecessarily await receipt of an acknowledgement segment that should not be returned in the case of segment loss.
A transmitter device increases a retransmission timeout value each time an identical segment is retransmitted due to a timeout, so as to avoid further deterioration of an already congested state of a communication network which would otherwise further deteriorate due to an influx of more data segments into the network. A retransmission timeout value is exponentially incremented from an initial value and remains constant once it reaches a predetermined maximum value; for example, the timeout value increases as follows: 1 s, 2 s, 4 s, 8 s, 16 s, 32 s, 64 s, 64 s, 64 s, 64 s . . . . Generally, an initial value of a retransmission timeout used for data segment transmission is a fixed value if the data segment is transmitted immediately after a communication connection is established, or a value based on an actual measurement of an RTT (round trip time) if the data segment is transmitted after an RTT is measured.
RLC (Radio Link Control) protocol is an example of a communication protocol that is used in a wireless link under Datalink Layer (Layer 2). RLC prescribes retransmission of a data frame over a wireless link, where a data frame is a divided portion of a data segment received from an upper layer. Since data transmission in a wireless link is more likely to experience data propagation delay as compared to that in a wired link, such retransmission in a wireless link is likely to cause more propagation delay between a transmitter device and a receiver device which transmit and receive segments over a wireless link which is a part of a communication path. When propagation delay is increased, there is greater probability of an acknowledgement segment being received at a transmitter device after a retransmission timer expires which was activated at the time of data segment transmission. In other words, a transmission device is caused to retransmit a data segment which appears to be lost due to a retransmission timeout occurring but which, in actuality, has not been lost but has been delayed due to the retransmission performed in the wireless link. Such an instance is more likely to happen when a retransmission timeout value used at a transmitter device is set to a value close to its initial value.
To cope with the above stated deficiency, a technique disclosed in Japanese Patent Application Laid Open Publication No. 2003-102057 (hereinafter, JP 2003-102057) provides a mobile station which notifies to a server a fixed retransmission timeout value at a time when a communication connection is established. A server is then able to use a notified retransmission timeout value to perform data segment retransmission control. Japanese Patent Application Laid Open Publication No. 2003-224619 (hereinafter, JP 2003-224619) discloses a technique where a mobile station notifies, during communication, to a server a retransmission timeout value corresponding to a type of a bearer. A server uses a notified retransmission timeout value to perform data segment retransmission control. Japanese Patent Application Laid Open Publication No. 2002-281106 (hereinafter, JP 2002-281106) discloses a technique where a communication terminal device exponentially increases a retransmission timeout value, where an initial value of the retransmission timeout value is set to a relatively large value (e.g. 10 s) compared to a value determined in consideration of a wired network state.
However, since a retransmission timeout value is fixed to a certain value if the techniques described in JP 2003-102057 and JP 2003-224619 are applied, congestion is likely to further deteriorate in a communication network between a transmitter device and a receiver device. In the technique described in JP 2002-281106, it is possible to reduce occurrences of retransmission of a data segment which appears to have been lost but is not lost in actuality. Nevertheless, use of an initial value of a retransmission timeout value which is a relatively large value and an exponential increase of a retransmission timeout value thereafter results in rough-spacing retransmission timeout at the beginning of retransmission control, which in turn degrades transmission efficiency.